package ui;

import util.Translator;
import net.rim.device.api.math.Fixed32;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.system.Display;
import net.rim.device.api.system.EncodedImage;

public class BitmapManager {

	public static Bitmap getBitmapResource(String pngName) {
		Bitmap res = null;
		
		int w = Display.getWidth();
		int h = Display.getHeight();

		//obtengo la imagen que corresponda segun la resolucion de la pantalla
		
		//si la resolucion es 480x360 y se trata de las imagenes back_ini o pr_pesos, las
		//busca en Home/ o Game/, respectivamente. Esta es una solucion temporal, ya que
		//si trato de mover estas dos imagenes directamente a 480x360/, la app crashea
		//(JVM Error 104)
		String sizePath = "";
		
		if((w==480 && h==360) && pngName.equals("back_ini.jpg"))
			sizePath = "480x360/Home/"+pngName;
		else if((w==480 && h==360) && pngName.equals("pr_pesos.gif"))
			sizePath = "480x360/Game/"+pngName;
		else{
			sizePath = ""+w+"x"+h+"/"+pngName;
		}
		res = Bitmap.getBitmapResource(sizePath);
		return res;
	}
		
	/*	
		if (w==480 && h==360)
			res = Bitmap.getBitmapResource("480x360/"+pngName);
		else  { //if (Display.getWidth()!=320 && Display.getWidth()!=480)
			EncodedImage encodedImage = EncodedImage.getEncodedImageResource("480x360/"+pngName);
			int scalew = Fixed32.div(480,w);
			int scaleh = Fixed32.div(360,h);
			int scale = Math.max(scalew,scaleh);
			if (scalew<scaleh) {
				Translator.currentWidth=Display.getHeight()*480/360;
			}
			else if (scaleh<scalew) {
				Translator.currentHeight=Display.getWidth()*360/480;
			}
			res = encodedImage.scaleImage32(scale,scale).getBitmap();
		}
		if (res==null) {
			handleNotFoundError(pngName);
		}
		return res;
	*/
	
	protected static void handleNotFoundError(String pngName) {
		String msg = "No se encontro " + pngName;
		System.out.println(msg);
	}


}
